(0) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^2).


The TRS R consists of the following rules:

f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, s(y), z)
f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false

Rewrite Strategy: INNERMOST

(1) TrsToWeightedTrsProof (BOTH BOUNDS(ID, ID) transformation)

Transformed TRS to weighted TRS

(2) Obligation:

The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2).


The TRS R consists of the following rules:

f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, s(y), z) [1]
f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, y, s(z)) [1]
gt(0, v) → false [1]
gt(s(u), 0) → true [1]
gt(s(u), s(v)) → gt(u, v) [1]
and(x, true) → x [1]
and(x, false) → false [1]

Rewrite Strategy: INNERMOST

(3) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)

Infered types.

(4) Obligation:

Runtime Complexity Weighted TRS with Types.
The TRS R consists of the following rules:

f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, s(y), z) [1]
f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, y, s(z)) [1]
gt(0, v) → false [1]
gt(s(u), 0) → true [1]
gt(s(u), s(v)) → gt(u, v) [1]
and(x, true) → x [1]
and(x, false) → false [1]

The TRS has the following type information:
f :: true:false → s:0 → s:0 → s:0 → f
true :: true:false
and :: true:false → true:false → true:false
gt :: s:0 → s:0 → true:false
s :: s:0 → s:0
0 :: s:0
false :: true:false

Rewrite Strategy: INNERMOST

(5) CompletionProof (UPPER BOUND(ID) transformation)

The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added:

f(v0, v1, v2, v3) → null_f [0]

And the following fresh constants:

null_f

(6) Obligation:

Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is:

Runtime Complexity Weighted TRS with Types.
The TRS R consists of the following rules:

f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, s(y), z) [1]
f(true, x, y, z) → f(and(gt(x, y), gt(x, z)), x, y, s(z)) [1]
gt(0, v) → false [1]
gt(s(u), 0) → true [1]
gt(s(u), s(v)) → gt(u, v) [1]
and(x, true) → x [1]
and(x, false) → false [1]
f(v0, v1, v2, v3) → null_f [0]

The TRS has the following type information:
f :: true:false → s:0 → s:0 → s:0 → null_f
true :: true:false
and :: true:false → true:false → true:false
gt :: s:0 → s:0 → true:false
s :: s:0 → s:0
0 :: s:0
false :: true:false
null_f :: null_f

Rewrite Strategy: INNERMOST

(7) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID) transformation)

Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction.
The constant constructors are abstracted as follows:

true => 1
0 => 0
false => 0
null_f => 0

(8) Obligation:

Complexity RNTS consisting of the following rules:

and(z', z'') -{ 1 }→ x :|: z' = x, x >= 0, z'' = 1
and(z', z'') -{ 1 }→ 0 :|: z'' = 0, z' = x, x >= 0
f(z', z'', z1, z2) -{ 1 }→ f(and(gt(x, y), gt(x, z)), x, y, 1 + z) :|: z1 = y, z >= 0, z2 = z, x >= 0, y >= 0, z'' = x, z' = 1
f(z', z'', z1, z2) -{ 1 }→ f(and(gt(x, y), gt(x, z)), x, 1 + y, z) :|: z1 = y, z >= 0, z2 = z, x >= 0, y >= 0, z'' = x, z' = 1
f(z', z'', z1, z2) -{ 0 }→ 0 :|: z2 = v3, v0 >= 0, z1 = v2, v1 >= 0, z'' = v1, v2 >= 0, v3 >= 0, z' = v0
gt(z', z'') -{ 1 }→ gt(u, v) :|: v >= 0, z' = 1 + u, z'' = 1 + v, u >= 0
gt(z', z'') -{ 1 }→ 1 :|: z'' = 0, z' = 1 + u, u >= 0
gt(z', z'') -{ 1 }→ 0 :|: z'' = v, v >= 0, z' = 0

Only complete derivations are relevant for the runtime complexity.

(9) CompleteCoflocoProof (EQUIVALENT transformation)

Transformed the RNTS (where only complete derivations are relevant) into cost relations for CoFloCo:

eq(start(V, V1, V2, V3),0,[f(V, V1, V2, V3, Out)],[V >= 0,V1 >= 0,V2 >= 0,V3 >= 0]).
eq(start(V, V1, V2, V3),0,[gt(V, V1, Out)],[V >= 0,V1 >= 0]).
eq(start(V, V1, V2, V3),0,[and(V, V1, Out)],[V >= 0,V1 >= 0]).
eq(f(V, V1, V2, V3, Out),1,[gt(V4, V5, Ret00),gt(V4, V6, Ret01),and(Ret00, Ret01, Ret0),f(Ret0, V4, 1 + V5, V6, Ret)],[Out = Ret,V2 = V5,V6 >= 0,V3 = V6,V4 >= 0,V5 >= 0,V1 = V4,V = 1]).
eq(f(V, V1, V2, V3, Out),1,[gt(V7, V8, Ret001),gt(V7, V9, Ret011),and(Ret001, Ret011, Ret02),f(Ret02, V7, V8, 1 + V9, Ret1)],[Out = Ret1,V2 = V8,V9 >= 0,V3 = V9,V7 >= 0,V8 >= 0,V1 = V7,V = 1]).
eq(gt(V, V1, Out),1,[],[Out = 0,V1 = V10,V10 >= 0,V = 0]).
eq(gt(V, V1, Out),1,[],[Out = 1,V1 = 0,V = 1 + V11,V11 >= 0]).
eq(gt(V, V1, Out),1,[gt(V12, V13, Ret2)],[Out = Ret2,V13 >= 0,V = 1 + V12,V1 = 1 + V13,V12 >= 0]).
eq(and(V, V1, Out),1,[],[Out = V14,V = V14,V14 >= 0,V1 = 1]).
eq(and(V, V1, Out),1,[],[Out = 0,V1 = 0,V = V15,V15 >= 0]).
eq(f(V, V1, V2, V3, Out),0,[],[Out = 0,V3 = V16,V17 >= 0,V2 = V18,V19 >= 0,V1 = V19,V18 >= 0,V16 >= 0,V = V17]).
input_output_vars(f(V,V1,V2,V3,Out),[V,V1,V2,V3],[Out]).
input_output_vars(gt(V,V1,Out),[V,V1],[Out]).
input_output_vars(and(V,V1,Out),[V,V1],[Out]).

CoFloCo proof output:
Preprocessing Cost Relations
=====================================

#### Computed strongly connected components
0. non_recursive : [and/3]
1. recursive : [gt/3]
2. recursive : [f/5]
3. non_recursive : [start/4]

#### Obtained direct recursion through partial evaluation
0. SCC is partially evaluated into and/3
1. SCC is partially evaluated into gt/3
2. SCC is partially evaluated into f/5
3. SCC is partially evaluated into start/4

Control-Flow Refinement of Cost Relations
=====================================

### Specialization of cost equations and/3
* CE 11 is refined into CE [13]
* CE 12 is refined into CE [14]


### Cost equations --> "Loop" of and/3
* CEs [13] --> Loop 10
* CEs [14] --> Loop 11

### Ranking functions of CR and(V,V1,Out)

#### Partial ranking functions of CR and(V,V1,Out)


### Specialization of cost equations gt/3
* CE 10 is refined into CE [15]
* CE 9 is refined into CE [16]
* CE 8 is refined into CE [17]


### Cost equations --> "Loop" of gt/3
* CEs [16] --> Loop 12
* CEs [17] --> Loop 13
* CEs [15] --> Loop 14

### Ranking functions of CR gt(V,V1,Out)
* RF of phase [14]: [V,V1]

#### Partial ranking functions of CR gt(V,V1,Out)
* Partial RF of phase [14]:
- RF of loop [14:1]:
V
V1


### Specialization of cost equations f/5
* CE 7 is refined into CE [18]
* CE 6 is refined into CE [19,20,21,22,23,24,25,26,27,28]
* CE 5 is refined into CE [29,30,31,32,33,34,35,36,37,38]


### Cost equations --> "Loop" of f/5
* CEs [28] --> Loop 15
* CEs [38] --> Loop 16
* CEs [25] --> Loop 17
* CEs [27] --> Loop 18
* CEs [24] --> Loop 19
* CEs [35] --> Loop 20
* CEs [37] --> Loop 21
* CEs [34] --> Loop 22
* CEs [26] --> Loop 23
* CEs [36] --> Loop 24
* CEs [23] --> Loop 25
* CEs [33] --> Loop 26
* CEs [32] --> Loop 27
* CEs [22] --> Loop 28
* CEs [31] --> Loop 29
* CEs [21] --> Loop 30
* CEs [30] --> Loop 31
* CEs [20] --> Loop 32
* CEs [19] --> Loop 33
* CEs [29] --> Loop 34
* CEs [18] --> Loop 35

### Ranking functions of CR f(V,V1,V2,V3,Out)
* RF of phase [15,16]: [2*V1-V2-V3-1]
* RF of phase [24]: [V1-V2]
* RF of phase [28]: [V1-V3]

#### Partial ranking functions of CR f(V,V1,V2,V3,Out)
* Partial RF of phase [15,16]:
- RF of loop [15:1]:
V1-V3
- RF of loop [16:1]:
V1-V2
* Partial RF of phase [24]:
- RF of loop [24:1]:
V1-V2
* Partial RF of phase [28]:
- RF of loop [28:1]:
V1-V3


### Specialization of cost equations start/4
* CE 2 is refined into CE [39,40,41,42,43,44,45,46,47,48]
* CE 3 is refined into CE [49,50,51,52]
* CE 4 is refined into CE [53,54]


### Cost equations --> "Loop" of start/4
* CEs [52] --> Loop 36
* CEs [54] --> Loop 37
* CEs [50,53] --> Loop 38
* CEs [48] --> Loop 39
* CEs [47] --> Loop 40
* CEs [46] --> Loop 41
* CEs [45] --> Loop 42
* CEs [44] --> Loop 43
* CEs [43] --> Loop 44
* CEs [42] --> Loop 45
* CEs [41,51] --> Loop 46
* CEs [39,40] --> Loop 47
* CEs [49] --> Loop 48

### Ranking functions of CR start(V,V1,V2,V3)

#### Partial ranking functions of CR start(V,V1,V2,V3)


Computing Bounds
=====================================

#### Cost of chains of and(V,V1,Out):
* Chain [11]: 1
with precondition: [V1=0,Out=0,V>=0]

* Chain [10]: 1
with precondition: [V1=1,V=Out,V>=0]


#### Cost of chains of gt(V,V1,Out):
* Chain [[14],13]: 1*it(14)+1
Such that:it(14) =< V

with precondition: [Out=0,V>=1,V1>=V]

* Chain [[14],12]: 1*it(14)+1
Such that:it(14) =< V1

with precondition: [Out=1,V1>=1,V>=V1+1]

* Chain [13]: 1
with precondition: [V=0,Out=0,V1>=0]

* Chain [12]: 1
with precondition: [V1=0,Out=1,V>=1]


#### Cost of chains of f(V,V1,V2,V3,Out):
* Chain [[28],35]: 4*it(28)+1*s(3)+0
Such that:aux(1) =< V1
it(28) =< V1-V3
s(3) =< it(28)*aux(1)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [[28],30,35]: 4*it(28)+1*s(3)+1*s(4)+4
Such that:it(28) =< V1-V3
aux(2) =< V1
s(4) =< aux(2)
s(3) =< it(28)*aux(2)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [[28],29,35]: 4*it(28)+1*s(3)+1*s(5)+4
Such that:it(28) =< V1-V3
aux(3) =< V1
s(5) =< aux(3)
s(3) =< it(28)*aux(3)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [[28],27,[15,16],35]: 9*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+4
Such that:it(28) =< 2*V1-V3
aux(12) =< V1
aux(13) =< 2*V1
it(15) =< aux(13)
aux(7) =< aux(12)-1
aux(6) =< aux(12)+1
s(14) =< it(15)*aux(12)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(12)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+2]

* Chain [[28],27,[15,16],21,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+8
Such that:aux(15) =< 2*V1
it(28) =< 2*V1-V3
aux(17) =< V1
it(15) =< aux(17)
s(18) =< aux(17)
it(15) =< aux(15)
aux(7) =< aux(17)-1
aux(6) =< aux(17)+1
s(14) =< it(15)*aux(17)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(17)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+2]

* Chain [[28],27,[15,16],20,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+8
Such that:aux(19) =< 2*V1
it(28) =< 2*V1-V3
aux(21) =< V1
it(15) =< aux(21)
s(18) =< aux(21)
it(15) =< aux(19)
aux(7) =< aux(21)-1
aux(6) =< aux(21)+1
s(14) =< it(15)*aux(21)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(21)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+2]

* Chain [[28],27,[15,16],18,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+8
Such that:aux(23) =< 2*V1
it(28) =< 2*V1-V3
aux(25) =< V1
it(15) =< aux(25)
s(18) =< aux(25)
it(15) =< aux(23)
aux(7) =< aux(25)-1
aux(6) =< aux(25)+1
s(14) =< it(15)*aux(25)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(25)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+2]

* Chain [[28],27,[15,16],17,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+8
Such that:aux(27) =< 2*V1
it(28) =< 2*V1-V3
aux(29) =< V1
it(15) =< aux(29)
s(18) =< aux(29)
it(15) =< aux(27)
aux(7) =< aux(29)-1
aux(6) =< aux(29)+1
s(14) =< it(15)*aux(29)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(29)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+2]

* Chain [[28],27,35]: 4*it(28)+1*s(3)+1*s(18)+4
Such that:it(28) =< V1-V3
aux(30) =< V1
s(18) =< aux(30)
s(3) =< it(28)*aux(30)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+2]

* Chain [[24],35]: 4*it(24)+1*s(29)+0
Such that:aux(31) =< V1
it(24) =< V1-V2
s(29) =< it(24)*aux(31)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [[24],26,35]: 4*it(24)+1*s(29)+1*s(30)+4
Such that:it(24) =< V1-V2
aux(32) =< V1
s(30) =< aux(32)
s(29) =< it(24)*aux(32)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [[24],25,35]: 4*it(24)+1*s(29)+1*s(31)+4
Such that:it(24) =< V1-V2
aux(33) =< V1
s(31) =< aux(33)
s(29) =< it(24)*aux(33)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [[24],23,[15,16],35]: 9*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+1*s(29)+4
Such that:it(24) =< 2*V1-V2
aux(34) =< V1
aux(35) =< 2*V1
it(15) =< aux(35)
aux(7) =< aux(34)-1
aux(6) =< aux(34)+1
s(14) =< it(15)*aux(34)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(34)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+2]

* Chain [[24],23,[15,16],21,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(19)+1*s(29)+8
Such that:aux(15) =< 2*V1
it(24) =< 2*V1-V2
aux(37) =< V1
it(15) =< aux(37)
s(19) =< aux(37)
it(15) =< aux(15)
aux(7) =< aux(37)-1
aux(6) =< aux(37)+1
s(14) =< it(15)*aux(37)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(37)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+2]

* Chain [[24],23,[15,16],20,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(21)+1*s(29)+8
Such that:aux(19) =< 2*V1
it(24) =< 2*V1-V2
aux(39) =< V1
it(15) =< aux(39)
s(21) =< aux(39)
it(15) =< aux(19)
aux(7) =< aux(39)-1
aux(6) =< aux(39)+1
s(14) =< it(15)*aux(39)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(39)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+2]

* Chain [[24],23,[15,16],18,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(23)+1*s(29)+8
Such that:aux(23) =< 2*V1
it(24) =< 2*V1-V2
aux(41) =< V1
it(15) =< aux(41)
s(23) =< aux(41)
it(15) =< aux(23)
aux(7) =< aux(41)-1
aux(6) =< aux(41)+1
s(14) =< it(15)*aux(41)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(41)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+2]

* Chain [[24],23,[15,16],17,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(25)+1*s(29)+8
Such that:aux(27) =< 2*V1
it(24) =< 2*V1-V2
aux(43) =< V1
it(15) =< aux(43)
s(25) =< aux(43)
it(15) =< aux(27)
aux(7) =< aux(43)-1
aux(6) =< aux(43)+1
s(14) =< it(15)*aux(43)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(43)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+2]

* Chain [[24],23,35]: 4*it(24)+1*s(29)+1*s(32)+4
Such that:it(24) =< V1-V2
aux(44) =< V1
s(32) =< aux(44)
s(29) =< it(24)*aux(44)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+2]

* Chain [[15,16],35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+0
Such that:aux(8) =< V1
aux(11) =< 2*V1-V2-V3
it(15) =< aux(11)
aux(7) =< aux(8)-1
aux(6) =< aux(8)+1
s(14) =< it(15)*aux(8)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,Out=0,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]

* Chain [[15,16],21,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(19)+4
Such that:it(16) =< V1-V2
it(15) =< V1-V3
aux(14) =< V1
aux(15) =< 2*V1-V2-V3
s(19) =< aux(14)
it(15) =< aux(15)
it(16) =< aux(15)
aux(7) =< aux(14)-1
aux(6) =< aux(14)+1
s(14) =< it(15)*aux(14)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,Out=0,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]

* Chain [[15,16],20,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(21)+4
Such that:it(16) =< V1-V2
it(15) =< V1-V3
aux(18) =< V1
aux(19) =< 2*V1-V2-V3
s(21) =< aux(18)
it(15) =< aux(19)
it(16) =< aux(19)
aux(7) =< aux(18)-1
aux(6) =< aux(18)+1
s(14) =< it(15)*aux(18)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,Out=0,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]

* Chain [[15,16],18,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(23)+4
Such that:it(16) =< V1-V2
it(15) =< V1-V3
aux(22) =< V1
aux(23) =< 2*V1-V2-V3
s(23) =< aux(22)
it(15) =< aux(23)
it(16) =< aux(23)
aux(7) =< aux(22)-1
aux(6) =< aux(22)+1
s(14) =< it(15)*aux(22)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,Out=0,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]

* Chain [[15,16],17,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(25)+4
Such that:it(16) =< V1-V2
it(15) =< V1-V3
aux(26) =< V1
aux(27) =< 2*V1-V2-V3
s(25) =< aux(26)
it(15) =< aux(27)
it(16) =< aux(27)
aux(7) =< aux(26)-1
aux(6) =< aux(26)+1
s(14) =< it(15)*aux(26)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,Out=0,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]

* Chain [35]: 0
with precondition: [Out=0,V>=0,V1>=0,V2>=0,V3>=0]

* Chain [34,35]: 4
with precondition: [V=1,V1=0,Out=0,V2>=0,V3>=0]

* Chain [33,35]: 4
with precondition: [V=1,V1=0,Out=0,V2>=0,V3>=0]

* Chain [32,[28],35]: 4*it(28)+1*s(3)+4
Such that:aux(45) =< V1
it(28) =< aux(45)
s(3) =< it(28)*aux(45)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,[28],30,35]: 5*it(28)+1*s(3)+8
Such that:aux(46) =< V1
it(28) =< aux(46)
s(3) =< it(28)*aux(46)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,[28],29,35]: 5*it(28)+1*s(3)+8
Such that:aux(47) =< V1
it(28) =< aux(47)
s(3) =< it(28)*aux(47)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,[28],27,[15,16],35]: 13*it(15)+3*s(3)+1*s(16)+1*s(17)+8
Such that:aux(12) =< V1
aux(48) =< 2*V1
it(15) =< aux(48)
aux(7) =< aux(12)-1
aux(6) =< aux(12)+1
s(3) =< it(15)*aux(12)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [32,[28],27,[15,16],21,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+12
Such that:aux(17) =< V1
aux(49) =< 2*V1
it(28) =< aux(49)
it(15) =< aux(17)
s(18) =< aux(17)
it(15) =< aux(49)
aux(7) =< aux(17)-1
aux(6) =< aux(17)+1
s(14) =< it(15)*aux(17)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(17)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [32,[28],27,[15,16],20,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+12
Such that:aux(21) =< V1
aux(50) =< 2*V1
it(28) =< aux(50)
it(15) =< aux(21)
s(18) =< aux(21)
it(15) =< aux(50)
aux(7) =< aux(21)-1
aux(6) =< aux(21)+1
s(14) =< it(15)*aux(21)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(21)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [32,[28],27,[15,16],18,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+12
Such that:aux(25) =< V1
aux(51) =< 2*V1
it(28) =< aux(51)
it(15) =< aux(25)
s(18) =< aux(25)
it(15) =< aux(51)
aux(7) =< aux(25)-1
aux(6) =< aux(25)+1
s(14) =< it(15)*aux(25)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(25)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [32,[28],27,[15,16],17,35]: 8*it(15)+4*it(28)+1*s(3)+2*s(14)+1*s(16)+1*s(17)+3*s(18)+12
Such that:aux(29) =< V1
aux(52) =< 2*V1
it(28) =< aux(52)
it(15) =< aux(29)
s(18) =< aux(29)
it(15) =< aux(52)
aux(7) =< aux(29)-1
aux(6) =< aux(29)+1
s(14) =< it(15)*aux(29)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(3) =< it(28)*aux(29)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [32,[28],27,35]: 5*it(28)+1*s(3)+8
Such that:aux(53) =< V1
it(28) =< aux(53)
s(3) =< it(28)*aux(53)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [32,35]: 4
with precondition: [V=1,V2=0,V3=0,Out=0,V1>=1]

* Chain [32,30,35]: 1*s(4)+8
Such that:s(4) =< 1

with precondition: [V=1,V1=1,V2=0,V3=0,Out=0]

* Chain [32,29,35]: 1*s(5)+8
Such that:s(5) =< 1

with precondition: [V=1,V1=1,V2=0,V3=0,Out=0]

* Chain [32,27,[15,16],35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+8
Such that:s(18) =< 1
aux(8) =< V1
aux(11) =< 2*V1
it(15) =< aux(11)
aux(7) =< aux(8)-1
aux(6) =< aux(8)+1
s(14) =< it(15)*aux(8)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,27,[15,16],21,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(19)+12
Such that:s(18) =< 1
aux(15) =< 2*V1
aux(54) =< V1
it(15) =< aux(54)
s(19) =< aux(54)
it(15) =< aux(15)
aux(7) =< aux(54)-1
aux(6) =< aux(54)+1
s(14) =< it(15)*aux(54)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,27,[15,16],20,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(21)+12
Such that:s(18) =< 1
aux(19) =< 2*V1
aux(55) =< V1
it(15) =< aux(55)
s(21) =< aux(55)
it(15) =< aux(19)
aux(7) =< aux(55)-1
aux(6) =< aux(55)+1
s(14) =< it(15)*aux(55)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,27,[15,16],18,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(23)+12
Such that:s(18) =< 1
aux(23) =< 2*V1
aux(56) =< V1
it(15) =< aux(56)
s(23) =< aux(56)
it(15) =< aux(23)
aux(7) =< aux(56)-1
aux(6) =< aux(56)+1
s(14) =< it(15)*aux(56)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,27,[15,16],17,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(25)+12
Such that:s(18) =< 1
aux(27) =< 2*V1
aux(57) =< V1
it(15) =< aux(57)
s(25) =< aux(57)
it(15) =< aux(27)
aux(7) =< aux(57)-1
aux(6) =< aux(57)+1
s(14) =< it(15)*aux(57)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [32,27,35]: 1*s(18)+8
Such that:s(18) =< 1

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,[24],35]: 4*it(24)+1*s(29)+4
Such that:aux(58) =< V1
it(24) =< aux(58)
s(29) =< it(24)*aux(58)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,[24],26,35]: 5*it(24)+1*s(29)+8
Such that:aux(59) =< V1
it(24) =< aux(59)
s(29) =< it(24)*aux(59)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,[24],25,35]: 5*it(24)+1*s(29)+8
Such that:aux(60) =< V1
it(24) =< aux(60)
s(29) =< it(24)*aux(60)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,[24],23,[15,16],35]: 13*it(15)+3*s(14)+1*s(16)+1*s(17)+8
Such that:aux(34) =< V1
aux(61) =< 2*V1
it(15) =< aux(61)
aux(7) =< aux(34)-1
aux(6) =< aux(34)+1
s(14) =< it(15)*aux(34)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [31,[24],23,[15,16],21,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(19)+1*s(29)+12
Such that:aux(37) =< V1
aux(62) =< 2*V1
it(24) =< aux(62)
it(15) =< aux(37)
s(19) =< aux(37)
it(15) =< aux(62)
aux(7) =< aux(37)-1
aux(6) =< aux(37)+1
s(14) =< it(15)*aux(37)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(37)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [31,[24],23,[15,16],20,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(21)+1*s(29)+12
Such that:aux(39) =< V1
aux(63) =< 2*V1
it(24) =< aux(63)
it(15) =< aux(39)
s(21) =< aux(39)
it(15) =< aux(63)
aux(7) =< aux(39)-1
aux(6) =< aux(39)+1
s(14) =< it(15)*aux(39)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(39)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [31,[24],23,[15,16],18,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(23)+1*s(29)+12
Such that:aux(41) =< V1
aux(64) =< 2*V1
it(24) =< aux(64)
it(15) =< aux(41)
s(23) =< aux(41)
it(15) =< aux(64)
aux(7) =< aux(41)-1
aux(6) =< aux(41)+1
s(14) =< it(15)*aux(41)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(41)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [31,[24],23,[15,16],17,35]: 8*it(15)+4*it(24)+2*s(14)+1*s(16)+1*s(17)+3*s(25)+1*s(29)+12
Such that:aux(43) =< V1
aux(65) =< 2*V1
it(24) =< aux(65)
it(15) =< aux(43)
s(25) =< aux(43)
it(15) =< aux(65)
aux(7) =< aux(43)-1
aux(6) =< aux(43)+1
s(14) =< it(15)*aux(43)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)
s(29) =< it(24)*aux(43)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [31,[24],23,35]: 5*it(24)+1*s(29)+8
Such that:aux(66) =< V1
it(24) =< aux(66)
s(29) =< it(24)*aux(66)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=3]

* Chain [31,35]: 4
with precondition: [V=1,V2=0,V3=0,Out=0,V1>=1]

* Chain [31,26,35]: 1*s(30)+8
Such that:s(30) =< 1

with precondition: [V=1,V1=1,V2=0,V3=0,Out=0]

* Chain [31,25,35]: 1*s(31)+8
Such that:s(31) =< 1

with precondition: [V=1,V1=1,V2=0,V3=0,Out=0]

* Chain [31,23,[15,16],35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(32)+8
Such that:s(32) =< 1
aux(8) =< V1
aux(11) =< 2*V1
it(15) =< aux(11)
aux(7) =< aux(8)-1
aux(6) =< aux(8)+1
s(14) =< it(15)*aux(8)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,23,[15,16],21,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+2*s(19)+1*s(32)+12
Such that:s(32) =< 1
aux(15) =< 2*V1
aux(67) =< V1
it(15) =< aux(67)
s(19) =< aux(67)
it(15) =< aux(15)
aux(7) =< aux(67)-1
aux(6) =< aux(67)+1
s(14) =< it(15)*aux(67)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,23,[15,16],20,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+2*s(21)+1*s(32)+12
Such that:s(32) =< 1
aux(19) =< 2*V1
aux(68) =< V1
it(15) =< aux(68)
s(21) =< aux(68)
it(15) =< aux(19)
aux(7) =< aux(68)-1
aux(6) =< aux(68)+1
s(14) =< it(15)*aux(68)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,23,[15,16],18,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+2*s(23)+1*s(32)+12
Such that:s(32) =< 1
aux(23) =< 2*V1
aux(69) =< V1
it(15) =< aux(69)
s(23) =< aux(69)
it(15) =< aux(23)
aux(7) =< aux(69)-1
aux(6) =< aux(69)+1
s(14) =< it(15)*aux(69)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,23,[15,16],17,35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+2*s(25)+1*s(32)+12
Such that:s(32) =< 1
aux(27) =< 2*V1
aux(70) =< V1
it(15) =< aux(70)
s(25) =< aux(70)
it(15) =< aux(27)
aux(7) =< aux(70)-1
aux(6) =< aux(70)+1
s(14) =< it(15)*aux(70)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [31,23,35]: 1*s(32)+8
Such that:s(32) =< 1

with precondition: [V=1,V2=0,V3=0,Out=0,V1>=2]

* Chain [30,35]: 1*s(4)+4
Such that:s(4) =< V1

with precondition: [V=1,V2=0,Out=0,V1>=1,V3>=V1]

* Chain [29,35]: 1*s(5)+4
Such that:s(5) =< V1

with precondition: [V=1,V2=0,Out=0,V1>=1,V3>=V1]

* Chain [27,[15,16],35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+4
Such that:aux(8) =< V1
aux(11) =< 2*V1-V3
s(18) =< V3
it(15) =< aux(11)
aux(7) =< aux(8)-1
aux(6) =< aux(8)+1
s(14) =< it(15)*aux(8)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [27,[15,16],21,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(19)+8
Such that:it(15) =< V1-V3
aux(15) =< 2*V1-V3
s(18) =< V3
aux(16) =< V1
it(16) =< aux(16)
s(19) =< aux(16)
it(15) =< aux(15)
it(16) =< aux(15)
aux(7) =< aux(16)-1
aux(6) =< aux(16)+1
s(14) =< it(15)*aux(16)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [27,[15,16],20,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(21)+8
Such that:it(15) =< V1-V3
aux(19) =< 2*V1-V3
s(18) =< V3
aux(20) =< V1
it(16) =< aux(20)
s(21) =< aux(20)
it(15) =< aux(19)
it(16) =< aux(19)
aux(7) =< aux(20)-1
aux(6) =< aux(20)+1
s(14) =< it(15)*aux(20)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [27,[15,16],18,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(23)+8
Such that:it(15) =< V1-V3
aux(23) =< 2*V1-V3
s(18) =< V3
aux(24) =< V1
it(16) =< aux(24)
s(23) =< aux(24)
it(15) =< aux(23)
it(16) =< aux(23)
aux(7) =< aux(24)-1
aux(6) =< aux(24)+1
s(14) =< it(15)*aux(24)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [27,[15,16],17,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+1*s(18)+2*s(25)+8
Such that:it(15) =< V1-V3
aux(27) =< 2*V1-V3
s(18) =< V3
aux(28) =< V1
it(16) =< aux(28)
s(25) =< aux(28)
it(15) =< aux(27)
it(16) =< aux(27)
aux(7) =< aux(28)-1
aux(6) =< aux(28)+1
s(14) =< it(15)*aux(28)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [27,35]: 1*s(18)+4
Such that:s(18) =< V3

with precondition: [V=1,V2=0,Out=0,V3>=1,V1>=V3+1]

* Chain [26,35]: 1*s(30)+4
Such that:s(30) =< V1

with precondition: [V=1,V3=0,Out=0,V1>=1,V2>=V1]

* Chain [25,35]: 1*s(31)+4
Such that:s(31) =< V1

with precondition: [V=1,V3=0,Out=0,V1>=1,V2>=V1]

* Chain [23,[15,16],35]: 8*it(15)+2*s(14)+1*s(16)+1*s(17)+1*s(32)+4
Such that:aux(8) =< V1
aux(11) =< 2*V1-V2
s(32) =< V2
it(15) =< aux(11)
aux(7) =< aux(8)-1
aux(6) =< aux(8)+1
s(14) =< it(15)*aux(8)
s(17) =< it(15)*aux(7)
s(16) =< it(15)*aux(6)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [23,[15,16],21,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(19)+1*s(32)+8
Such that:it(16) =< V1-V2
aux(15) =< 2*V1-V2
s(32) =< V2
aux(36) =< V1
it(15) =< aux(36)
s(19) =< aux(36)
it(15) =< aux(15)
it(16) =< aux(15)
aux(7) =< aux(36)-1
aux(6) =< aux(36)+1
s(14) =< it(15)*aux(36)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [23,[15,16],20,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(21)+1*s(32)+8
Such that:it(16) =< V1-V2
aux(19) =< 2*V1-V2
s(32) =< V2
aux(38) =< V1
it(15) =< aux(38)
s(21) =< aux(38)
it(15) =< aux(19)
it(16) =< aux(19)
aux(7) =< aux(38)-1
aux(6) =< aux(38)+1
s(14) =< it(15)*aux(38)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [23,[15,16],18,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(23)+1*s(32)+8
Such that:it(16) =< V1-V2
aux(23) =< 2*V1-V2
s(32) =< V2
aux(40) =< V1
it(15) =< aux(40)
s(23) =< aux(40)
it(15) =< aux(23)
it(16) =< aux(23)
aux(7) =< aux(40)-1
aux(6) =< aux(40)+1
s(14) =< it(15)*aux(40)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [23,[15,16],17,35]: 4*it(15)+4*it(16)+2*s(14)+1*s(16)+1*s(17)+2*s(25)+1*s(32)+8
Such that:it(16) =< V1-V2
aux(27) =< 2*V1-V2
s(32) =< V2
aux(42) =< V1
it(15) =< aux(42)
s(25) =< aux(42)
it(15) =< aux(27)
it(16) =< aux(27)
aux(7) =< aux(42)-1
aux(6) =< aux(42)+1
s(14) =< it(15)*aux(42)
s(17) =< it(16)*aux(7)
s(16) =< it(16)*aux(6)

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [23,35]: 1*s(32)+4
Such that:s(32) =< V2

with precondition: [V=1,V3=0,Out=0,V2>=1,V1>=V2+1]

* Chain [22,35]: 2*s(33)+4
Such that:aux(71) =< V1
s(33) =< aux(71)

with precondition: [V=1,Out=0,V1>=1,V2>=V1,V3>=V1]

* Chain [21,35]: 1*s(19)+1*s(20)+4
Such that:s(20) =< V1
s(19) =< V2+1

with precondition: [V=1,Out=0,V2>=1,V3>=V1,V1>=V2+1]

* Chain [20,35]: 1*s(21)+1*s(22)+4
Such that:s(21) =< V1
s(22) =< V3

with precondition: [V=1,Out=0,V3>=1,V2>=V1,V1>=V3+1]

* Chain [19,35]: 2*s(35)+4
Such that:aux(72) =< V1
s(35) =< aux(72)

with precondition: [V=1,Out=0,V1>=1,V2>=V1,V3>=V1]

* Chain [18,35]: 1*s(23)+1*s(24)+4
Such that:s(24) =< V1
s(23) =< V2

with precondition: [V=1,Out=0,V2>=1,V3>=V1,V1>=V2+1]

* Chain [17,35]: 1*s(25)+1*s(26)+4
Such that:s(25) =< V1
s(26) =< V3+1

with precondition: [V=1,Out=0,V3>=1,V2>=V1,V1>=V3+1]


#### Cost of chains of start(V,V1,V2,V3):
* Chain [48]: 1
with precondition: [V=0,V1>=0]

* Chain [47]: 16*s(582)+128*s(583)+78*s(584)+32*s(587)+16*s(588)+16*s(589)+74*s(590)+18*s(591)+4*s(592)+4*s(593)+8*s(594)+12
Such that:s(579) =< 1
s(580) =< V1
s(581) =< 2*V1
s(582) =< s(579)
s(583) =< s(580)
s(584) =< s(580)
s(583) =< s(581)
s(585) =< s(580)-1
s(586) =< s(580)+1
s(587) =< s(583)*s(580)
s(588) =< s(583)*s(585)
s(589) =< s(583)*s(586)
s(590) =< s(581)
s(591) =< s(590)*s(580)
s(592) =< s(590)*s(585)
s(593) =< s(590)*s(586)
s(594) =< s(584)*s(580)

with precondition: [V>=0,V1>=0,V2>=0,V3>=0]

* Chain [46]: 2*s(596)+1*s(597)+4
Such that:s(597) =< V
s(595) =< V1
s(596) =< s(595)

with precondition: [V>=1,V1>=V]

* Chain [45]: 16*s(603)+16*s(604)+28*s(605)+6*s(606)+7*s(609)+1*s(610)+1*s(611)+4*s(612)+16*s(613)+23*s(614)+8*s(615)+4*s(616)+4*s(617)+32*s(618)+8*s(619)+4*s(620)+4*s(621)+9*s(622)+2*s(623)+1*s(624)+1*s(625)+8
Such that:s(598) =< V1
s(599) =< V1-V3
s(600) =< 2*V1
s(601) =< 2*V1-V3
s(602) =< V3
s(603) =< s(599)
s(604) =< s(599)
s(605) =< s(601)
s(606) =< s(602)
s(607) =< s(598)-1
s(608) =< s(598)+1
s(609) =< s(605)*s(598)
s(610) =< s(605)*s(607)
s(611) =< s(605)*s(608)
s(612) =< s(604)*s(598)
s(613) =< s(598)
s(614) =< s(598)
s(603) =< s(601)
s(613) =< s(601)
s(615) =< s(603)*s(598)
s(616) =< s(613)*s(607)
s(617) =< s(613)*s(608)
s(618) =< s(598)
s(618) =< s(600)
s(619) =< s(618)*s(598)
s(620) =< s(618)*s(607)
s(621) =< s(618)*s(608)
s(622) =< s(600)
s(623) =< s(622)*s(598)
s(624) =< s(622)*s(607)
s(625) =< s(622)*s(608)

with precondition: [V=1,V2=0,V3>=1,V1>=V3+1]

* Chain [44]: 2*s(627)+4
Such that:s(626) =< V1
s(627) =< s(626)

with precondition: [V=1,V3=0,V1>=1,V2>=V1]

* Chain [43]: 16*s(633)+16*s(634)+28*s(635)+6*s(636)+7*s(639)+1*s(640)+1*s(641)+4*s(642)+16*s(643)+23*s(644)+8*s(645)+4*s(646)+4*s(647)+32*s(648)+8*s(649)+4*s(650)+4*s(651)+9*s(652)+2*s(653)+1*s(654)+1*s(655)+8
Such that:s(628) =< V1
s(629) =< V1-V2
s(630) =< 2*V1
s(631) =< 2*V1-V2
s(632) =< V2
s(633) =< s(629)
s(634) =< s(629)
s(635) =< s(631)
s(636) =< s(632)
s(637) =< s(628)-1
s(638) =< s(628)+1
s(639) =< s(635)*s(628)
s(640) =< s(635)*s(637)
s(641) =< s(635)*s(638)
s(642) =< s(634)*s(628)
s(643) =< s(628)
s(644) =< s(628)
s(643) =< s(631)
s(633) =< s(631)
s(645) =< s(643)*s(628)
s(646) =< s(633)*s(637)
s(647) =< s(633)*s(638)
s(648) =< s(628)
s(648) =< s(630)
s(649) =< s(648)*s(628)
s(650) =< s(648)*s(637)
s(651) =< s(648)*s(638)
s(652) =< s(630)
s(653) =< s(652)*s(628)
s(654) =< s(652)*s(637)
s(655) =< s(652)*s(638)

with precondition: [V=1,V3=0,V2>=1,V1>=V2+1]

* Chain [42]: 4*s(657)+4
Such that:s(656) =< V1
s(657) =< s(656)

with precondition: [V=1,V1>=1,V2>=V1,V3>=V1]

* Chain [41]: 16*s(662)+16*s(663)+8*s(664)+2*s(667)+1*s(668)+1*s(669)+8*s(670)+8*s(671)+4*s(672)+4*s(673)+4
Such that:s(658) =< V1
s(659) =< V1-V2
s(660) =< V1-V3
s(661) =< 2*V1-V2-V3
s(662) =< s(659)
s(663) =< s(660)
s(664) =< s(661)
s(665) =< s(658)-1
s(666) =< s(658)+1
s(667) =< s(664)*s(658)
s(668) =< s(664)*s(665)
s(669) =< s(664)*s(666)
s(670) =< s(658)
s(663) =< s(661)
s(662) =< s(661)
s(671) =< s(663)*s(658)
s(672) =< s(662)*s(665)
s(673) =< s(662)*s(666)

with precondition: [V=1,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]

* Chain [40]: 1*s(674)+1*s(675)+2*s(677)+4
Such that:s(676) =< V1
s(674) =< V2
s(675) =< V2+1
s(677) =< s(676)

with precondition: [V=1,V2>=1,V3>=V1,V1>=V2+1]

* Chain [39]: 1*s(678)+1*s(679)+2*s(681)+4
Such that:s(680) =< V1
s(678) =< V3
s(679) =< V3+1
s(681) =< s(680)

with precondition: [V=1,V3>=1,V2>=V1,V1>=V3+1]

* Chain [38]: 1
with precondition: [V1=0,V>=0]

* Chain [37]: 1
with precondition: [V1=1,V>=0]

* Chain [36]: 1*s(682)+1
Such that:s(682) =< V1

with precondition: [V1>=1,V>=V1+1]


Closed-form bounds of start(V,V1,V2,V3):
-------------------------------------
* Chain [48] with precondition: [V=0,V1>=0]
- Upper bound: 1
- Complexity: constant
* Chain [47] with precondition: [V>=0,V1>=0,V2>=0,V3>=0]
- Upper bound: 222*V1+28+56*V1*V1+22*V1* (2*V1)+nat(V1-1)*16*V1+nat(V1-1)*4* (2*V1)+156*V1
- Complexity: n^2
* Chain [46] with precondition: [V>=1,V1>=V]
- Upper bound: V+2*V1+4
- Complexity: n
* Chain [45] with precondition: [V=1,V2=0,V3>=1,V1>=V3+1]
- Upper bound: 58*V1-29*V3+ (32*V1-32*V3+ (79*V1+8+16*V1*V1+3*V1* (2*V1)+ (V1-V3)* (12*V1)+ (2*V1-V3)* (8*V1)+6*V3+ (8*V1-8)*V1+ (V1-1)* (2*V1)+ (2*V1-V3)* (V1-1)+20*V1))
- Complexity: n^2
* Chain [44] with precondition: [V=1,V3=0,V1>=1,V2>=V1]
- Upper bound: 2*V1+4
- Complexity: n
* Chain [43] with precondition: [V=1,V3=0,V2>=1,V1>=V2+1]
- Upper bound: 58*V1-29*V2+ (36*V1-36*V2+ (75*V1+8+20*V1*V1+3*V1* (2*V1)+ (V1-V2)* (8*V1)+ (2*V1-V2)* (8*V1)+6*V2+ (4*V1-4)*V1+ (V1-1)* (2*V1)+ (4*V1-4)* (V1-V2)+ (2*V1-V2)* (V1-1)+20*V1))
- Complexity: n^2
* Chain [42] with precondition: [V=1,V1>=1,V2>=V1,V3>=V1]
- Upper bound: 4*V1+4
- Complexity: n
* Chain [41] with precondition: [V=1,V2>=1,V3>=1,V1>=V2+1,V1>=V3+1]
- Upper bound: 18*V1-9*V2-9*V3+ (16*V1-16*V3+ (20*V1-20*V2+ (8*V1+4+ (V1-V2)* (4*V1)+ (V1-V3)* (8*V1)+ (2*V1-V2-V3)* (3*V1)+ (4*V1-4)* (V1-V2)+ (2*V1-V2-V3)* (V1-1))))
- Complexity: n^2
* Chain [40] with precondition: [V=1,V2>=1,V3>=V1,V1>=V2+1]
- Upper bound: 2*V1+2*V2+5
- Complexity: n
* Chain [39] with precondition: [V=1,V3>=1,V2>=V1,V1>=V3+1]
- Upper bound: 2*V1+2*V3+5
- Complexity: n
* Chain [38] with precondition: [V1=0,V>=0]
- Upper bound: 1
- Complexity: constant
* Chain [37] with precondition: [V1=1,V>=0]
- Upper bound: 1
- Complexity: constant
* Chain [36] with precondition: [V1>=1,V>=V1+1]
- Upper bound: V1+1
- Complexity: n

### Maximum cost of start(V,V1,V2,V3): V1+3+max([max([V,nat(V2+1)+nat(V2),nat(V3+1)+nat(V3)]),4*V1+max([67*V1+4+16*V1*V1+3*V1* (2*V1)+nat(V1-1)*4*V1+2*V1*nat(V1-1)+20*V1+max([nat(V1-1)*4*V1+4*V1+max([12*V1*nat(V1-V3)+8*V1*nat(2*V1-V3)+nat(V3)*6+nat(2*V1-V3)*nat(V1-1)+nat(V1-V3)*32+nat(2*V1-V3)*29,143*V1+20+40*V1*V1+19*V1* (2*V1)+nat(V1-1)*8*V1+nat(V1-1)*3* (2*V1)+136*V1]),8*V1*nat(V1-V2)+4*V1*V1+8*V1*nat(2*V1-V2)+nat(V2)*6+nat(V1-1)*4*nat(V1-V2)+nat(2*V1-V2)*nat(V1-1)+nat(V1-V2)*36+nat(2*V1-V2)*29]),8*V1*nat(V1-V3)+4*V1*nat(V1-V2)+3*V1*nat(2*V1-V2-V3)+nat(V1-1)*4*nat(V1-V2)+nat(2*V1-V2-V3)*nat(V1-1)+nat(V1-V2)*20+nat(V1-V3)*16+nat(2*V1-V2-V3)*9])+2*V1])+V1+1
Asymptotic class: n^2
* Total analysis performed in 1969 ms.

(10) BOUNDS(1, n^2)